/**
 * Copyright (c) 2012 Ibrahim Abd Elkader 
 * Email: <i.abdalkader@gmail.com> 
 * Licensed under the MIT license.
 * See the file COPYING for copying permission.
 */
#ifndef __SCHED_H__
#define __SCHED_H__
struct task_t;
/* scheduler struct */
struct sched_t {
    void (*run) (void);
    void (*tick) (void);
    void (*create)(struct task_t*);
    void (*destroy)(void);
    void (*yield)(void);
    void (*debug)(void);
};
/* scheduler alloc functions */
struct sched_t *sched_co_alloc();
struct sched_t *sched_rr_alloc();
#endif// __CO_SCHED_H__
